home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Technology Seed / ATS July '97.toast / Mac OS 8 / Docs-Interfaces-Libs / Appearance Manager / Appearance.r < prev    next >
Encoding:
Text File  |  1997-03-13  |  24.2 KB  |  651 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Appearance.r
  3.  
  4.      Contains:    Appearance Manager APIs
  5.  
  6.      Version:    Technology:    Appearance 1.0
  7.                  Release:    Tempo
  8.  
  9.      Copyright:    © 1996-1997 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18.  
  19. #ifndef __APPEARANCE_R__
  20. #define __APPEARANCE_R__
  21.  
  22. #ifndef __TYPES_R__
  23. #include <Types.r>
  24. #endif
  25.  
  26.                                                             /*  Appearance Trap Number  */
  27. #define _AppearanceDispatch             0xAA74
  28. #define gestaltAppearanceAttr             'appr'
  29. #define gestaltAppearanceExists         0
  30. #define gestaltAppearanceCompatMode     1
  31.  
  32. #define appearanceBadBrushIndexErr         (-30560)            /*  pattern index invalid  */
  33. #define appearanceProcessRegisteredErr     (-30561)
  34. #define appearanceProcessNotRegisteredErr  (-30562)
  35. #define appearanceBadTextColorIndexErr     (-30563)
  36.  
  37. #define kThemeActiveDialogBackgroundBrush  1                /*  Dialogs  */
  38. #define kThemeInactiveDialogBackgroundBrush  2                /*  Dialogs  */
  39. #define kThemeActiveAlertBackgroundBrush  3
  40. #define kThemeInactiveAlertBackgroundBrush  4
  41. #define kThemeActiveModelessDialogBackgroundBrush  5
  42. #define kThemeInactiveModelessDialogBackgroundBrush  6
  43. #define kThemeActiveUtilityWindowBackgroundBrush  7            /*  Miscellaneous  */
  44. #define kThemeInactiveUtilityWindowBackgroundBrush  8        /*  Miscellaneous  */
  45. #define kThemeListViewSortColumnBackgroundBrush  9            /*  Finder  */
  46. #define kThemeListViewBackgroundBrush     10
  47. #define kThemeIconLabelBackgroundBrush     11
  48. #define kThemeListViewSeparatorBrush     12
  49. #define kThemeChasingArrowsBrush         13
  50.  
  51. #define kThemeActiveDialogTextColor     1                    /*  Dialogs  */
  52. #define kThemeInactiveDialogTextColor     2
  53. #define kThemeActiveAlertTextColor         3
  54. #define kThemeInactiveAlertTextColor     4
  55. #define kThemeActiveModelessDialogTextColor  5
  56. #define kThemeInactiveModelessDialogTextColor  6
  57. #define kThemeActiveWindowHeaderTextColor  7                /*  Primitives  */
  58. #define kThemeInactiveWindowHeaderTextColor  8
  59. #define kThemeActivePlacardTextColor     9                    /*  Primitives  */
  60. #define kThemeInactivePlacardTextColor     10
  61. #define kThemePressedPlacardTextColor     11
  62. #define kThemeActivePushButtonTextColor  12                    /*  Primitives  */
  63. #define kThemeInactivePushButtonTextColor  13
  64. #define kThemePressedPushButtonTextColor  14
  65. #define kThemeActiveBevelButtonTextColor  15                /*  Primitives  */
  66. #define kThemeInactiveBevelButtonTextColor  16
  67. #define kThemePressedBevelButtonTextColor  17
  68. #define kThemeActivePopupButtonTextColor  18                /*  Primitives  */
  69. #define kThemeInactivePopupButtonTextColor  19
  70. #define kThemePressedPopupButtonTextColor  20
  71. #define kThemeIconLabelTextColor         21                    /*  Finder  */
  72. #define kThemeListViewTextColor         22
  73.  
  74. #define kThemeStateDisabled             0
  75. #define kThemeStateActive                 1
  76. #define kThemeStatePressed                 2
  77.  
  78.                                                             /*  Resource IDs for new window defprocs  */
  79. #define kWindowDocumentDefProcResID     64
  80. #define kWindowDialogDefProcResID         65
  81. #define kWindowUtilityDefProcResID         66
  82. #define kWindowUtilitySideTitleDefProcResID  67
  83.  
  84.                                                             /*  Proc IDs for theme-savvy windows  */
  85. #define kWindowDocumentProc             1024
  86. #define kWindowGrowDocumentProc         1025
  87. #define kWindowHorizZoomDocumentProc     1026
  88. #define kWindowHorizZoomGrowDocumentProc  1027
  89. #define kWindowVertZoomDocumentProc     1028
  90. #define kWindowVertZoomGrowDocumentProc  1029
  91. #define kWindowFullZoomDocumentProc     1030
  92. #define kWindowFullZoomGrowDocumentProc  1031
  93.  
  94.                                                             /*  Proc IDs for theme-savvy dialogs  */
  95. #define kWindowPlainDialogProc             1040
  96. #define kWindowShadowDialogProc         1041
  97. #define kWindowModalDialogProc             1042
  98. #define kWindowMovableModalDialogProc     1043
  99. #define kWindowAlertProc                 1044
  100. #define kWindowMovableAlertProc         1045
  101.  
  102.                                                             /*  Proc IDs for top title bar theme-savvy floating windows  */
  103. #define kWindowFloatProc                 1057
  104. #define kWindowFloatGrowProc             1059
  105. #define kWindowFloatHorizZoomProc         1061
  106. #define kWindowFloatHorizZoomGrowProc     1063
  107. #define kWindowFloatVertZoomProc         1065
  108. #define kWindowFloatVertZoomGrowProc     1067
  109. #define kWindowFloatFullZoomProc         1069
  110. #define kWindowFloatFullZoomGrowProc     1071
  111.  
  112.                                                             /*  Proc IDs for side title bar theme-savvy floating windows  */
  113. #define kWindowFloatSideProcID             1073
  114. #define kWindowFloatSideGrowProcID         1075
  115. #define kWindowFloatSideHorizZoomProcID  1077
  116. #define kWindowFloatSideHorizZoomGrowProcID  1079
  117. #define kWindowFloatSideVertZoomProcID     1081
  118. #define kWindowFloatSideVertZoomGrowProcID  1083
  119. #define kWindowFloatSideFullZoomProcID     1085
  120. #define kWindowFloatSideFullZoomGrowProcID  1087
  121.  
  122.                                                             /*  Region values to pass into GetWindowRegion  */
  123. #define kWindowTitleBarRgn                 0
  124. #define kWindowTitleTextRgn             1
  125. #define kWindowCloseBoxRgn                 2
  126. #define kWindowZoomBoxRgn                 3
  127. #define kWindowDragRgn                     5
  128. #define kWindowGrowRgn                     6
  129. #define kWindowCollapseBoxRgn             7
  130. #define kWindowStructureRgn             32
  131. #define kWindowContentRgn                 33
  132.  
  133.                                                             /*  Window Features returned by GetWindowFeatures  */
  134. #define kWindowCanGrow                     0x01
  135. #define kWindowCanZoom                     0x02
  136. #define kWindowCanCollapse                 0x04
  137. #define kWindowIsModal                     0x08
  138. #define kWindowCanGetWindowRegion         0x10
  139. #define kWindowIsAlert                     0x20
  140. #define kWindowHasTitleBar                 0x40
  141.  
  142.                                                             /*  New window messages  */
  143. #define kWindowMsgGetFeatures             7
  144. #define kWindowMsgGetRegion             8
  145.  
  146.                                                             /*  New Window part codes  */
  147. #define inCollapseBox                     11
  148.                                                             /*  Window Definition hit test result codes ("WindowPart") */
  149. #define wInCollapseBox                     9
  150.                                                             /*  Alert types to pass into StandardAlert  */
  151. #define kAlertStopAlert                 0
  152. #define kAlertNoteAlert                 1
  153. #define kAlertCautionAlert                 2
  154. #define kAlertPlainAlert                 3
  155.  
  156. #define kAlertDefaultOKText             (-1)                /*  "OK" */
  157. #define kAlertDefaultCancelText         (-1)                /*  "Cancel" */
  158. #define kAlertDefaultOtherText             (-1)                /*  "Don't Save" */
  159.  
  160. #define kAlertStdAlertOKButton             1
  161. #define kAlertStdAlertCancelButton         2
  162. #define kAlertStdAlertOtherButton         3
  163. #define kAlertStdAlertHelpButton         4
  164.  
  165.                                                             /*  Dialog Flags for use in NewFeaturesDialog or dlgx resource  */
  166. #define kDialogFlagsUseThemeBackground     0x01
  167. #define kDialogFlagsUseControlHierarchy  0x02
  168. #define kDialogFlagsHandleMovableModal     0x04
  169. #define kDialogFlagsUseThemeControls     0x08
  170.  
  171.                                                             /*  Alert Flags for use in alrx resource  */
  172. #define kAlertFlagsUseThemeBackground     0x01
  173. #define kAlertFlagsUseControlHierarchy     0x02
  174. #define kAlertFlagsAlertIsMovable         0x04
  175. #define kAlertFlagsUseThemeControls     0x08
  176.  
  177. #define kDialogFontNoFontStyle             0
  178. #define kDialogFontUseFontMask             0x0001
  179. #define kDialogFontUseFaceMask             0x0002
  180. #define kDialogFontUseSizeMask             0x0004
  181. #define kDialogFontUseForeColorMask     0x0008
  182. #define kDialogFontUseBackColorMask     0x0010
  183. #define kDialogFontUseModeMask             0x0020
  184. #define kDialogFontUseJustMask             0x0040
  185. #define kDialogFontUseAllMask             0x00FF
  186. #define kDialogFontAddFontSizeMask         0x0100
  187. #define kDialogFontUseFontMaskMask         0x0200
  188.  
  189. #define _ControlDispatch                 0xAA73
  190.                                                             /*  resource types for new controls  */
  191. #define kControlTabListResType             'tab#'                /*  used for tab control only */
  192. #define kControlListDescResType         'ldes'                /*  used for list box control only */
  193.  
  194.                                                             /*  new part codes for new controls  */
  195. #define kControlEditTextPart             5
  196. #define kControlPicturePart             6
  197. #define kControlIconPart                 7
  198. #define kControlClockPart                 8
  199. #define kControlListBoxPart             24
  200. #define kControlListBoxDoubleClickPart     25
  201.  
  202. #define kControlMsgHandled                 'ok  '
  203. #define kControlFocusNoPart             0                    /*  tells control to clear its focus */
  204. #define kControlFocusNextPart             (-1)                /*  tells control to focus on the next part */
  205. #define kControlFocusPrevPart             (-2)                /*  tells control to focus on the previous part */
  206.  
  207. #define kControlKeyFilterBlockKey         0
  208. #define kControlKeyFilterPassKey         1
  209.  
  210.                                                             /*  Meta-font numbering - see not above  */
  211. #define kControlFontBigSystemFont         (-1)                /*  force to big system font */
  212. #define kControlFontSmallSystemFont     (-2)                /*  force to small system font */
  213. #define kControlFontSmallBoldSystemFont  (-3)                /*  force to small bold system font */
  214.  
  215. #define kControlUseFontMask             0x0001
  216. #define kControlUseFaceMask             0x0002
  217. #define kControlUseSizeMask             0x0004
  218. #define kControlUseForeColorMask         0x0008
  219. #define kControlUseBackColorMask         0x0010
  220. #define kControlUseModeMask             0x0020
  221. #define kControlUseJustMask             0x0040
  222. #define kControlUseAllMask                 0x00FF
  223. #define kControlAddFontSizeMask         0x0100
  224.  
  225. #define kControlFontStyleTag             'font'
  226. #define kControlKeyFilterTag             'fltr'
  227.  
  228. #define errMessageNotSupported             (-30580)
  229. #define errDataNotSupported             (-30581)
  230. #define errControlDoesntSupportFocus     (-30582)
  231. #define errWindowDoesntSupportFocus     (-30583)
  232. #define errPaneNotFound                 (-30584)
  233. #define errCouldntSetFocus                 (-30585)
  234. #define errNoRootControl                 (-30586)
  235. #define errRootAlreadyExists             (-30587)
  236. #define errInvalidPartCode                 (-30588)
  237. #define errControlsAlreadyExist         (-30589)
  238. #define errControlIsNotEmbedder         (-30590)
  239. #define errDataSizeMismatch             (-30591)
  240. #define errControlHiddenOrDisabled         (-30592)
  241. #define errWindowRegionCodeInvalid         (-30593)
  242. #define errCantEmbedIntoSelf             (-30594)
  243. #define errCantEmbedRoot                 (-30595)
  244.  
  245.                                                             /*  Control feature bits - returned by GetControlFeatures  */
  246. #define kControlSupportsGhosting         0x01
  247. #define kControlSupportsEmbedding         0x02
  248. #define kControlSupportsFocus             0x04
  249. #define kControlWantsIdle                 0x08
  250. #define kControlWantsActivate             0x10
  251. #define kControlHandlesTracking         0x20
  252. #define kControlSupportsDataAccess         0x40
  253. #define kControlHasSpecialBackground     0x80
  254. #define kControlGetsFocusOnClick         0x0100
  255. #define kControlSupportsCalcBestRect     0x0200
  256. #define kControlSupportsLiveFeedback     0x0400
  257.  
  258.                                                             /*  Control Messages  */
  259. #define kControlMsgDrawGhost             13
  260. #define kControlMsgCalcBestRect         14                    /*  Calculate best fitting rectangle for control */
  261. #define kControlMsgHandleTracking         15
  262. #define kControlMsgFocus                 16                    /*  param indicates action. */
  263. #define kControlMsgKeyDown                 17
  264. #define kControlMsgIdle                 18
  265. #define kControlMsgGetFeatures             19
  266. #define kControlMsgSetData                 20
  267. #define kControlMsgGetData                 21
  268. #define kControlMsgActivate             22
  269. #define kControlMsgSetUpBackground         23
  270. #define kControlMsgCalcValue             24
  271. #define kControlMsgSubControlHit         25
  272. #define kControlMsgCalcValueFromPos     26
  273.  
  274.                                                             /*  Bevel Button Proc IDs  */
  275. #define kControlBevelButtonSmallBevelProc  32
  276. #define kControlBevelButtonNormalBevelProc  33
  277. #define kControlBevelButtonLargeBevelProc  34
  278.  
  279.                                                             /*  Bevel button graphic alignment values  */
  280. #define kControlBevelButtonAlignSysDirection  (-1)            /*  only left or right */
  281. #define kControlBevelButtonAlignCenter     0
  282. #define kControlBevelButtonAlignLeft     1
  283. #define kControlBevelButtonAlignRight     2
  284. #define kControlBevelButtonAlignTop     3
  285. #define kControlBevelButtonAlignBottom     4
  286. #define kControlBevelButtonAlignTopLeft  5
  287. #define kControlBevelButtonAlignBottomLeft  6
  288. #define kControlBevelButtonAlignTopRight  7
  289. #define kControlBevelButtonAlignBottomRight  8
  290.  
  291.                                                             /*  Bevel button text alignment values  */
  292. #define kControlBevelButtonAlignTextSysDirection  0
  293. #define kControlBevelButtonAlignTextCenter  1
  294. #define kControlBevelButtonAlignTextFlushRight  (-1)
  295. #define kControlBevelButtonAlignTextFlushLeft  (-2)
  296.  
  297.                                                             /*  Bevel button text placement values  */
  298. #define kControlBevelButtonPlaceSysDirection  (-1)            /*  if graphic on right, then on left */
  299. #define kControlBevelButtonPlaceNormally  0
  300. #define kControlBevelButtonPlaceToRightOfGraphic  1
  301. #define kControlBevelButtonPlaceToLeftOfGraphic  2
  302. #define kControlBevelButtonPlaceBelowGraphic  3
  303. #define kControlBevelButtonPlaceAboveGraphic  4
  304.  
  305. #define kControlBevelButtonSmallBevelVariant  0
  306. #define kControlBevelButtonNormalBevelVariant  0x01
  307. #define kControlBevelButtonLargeBevelVariant  0x02
  308. #define kControlBevelButtonMenuOnRight     0x04
  309.  
  310. #define kControlBehaviorPushbutton         0
  311. #define kControlBehaviorToggles         0x0100
  312. #define kControlBehaviorSticky             0x0200
  313. #define kControlBehaviorMultiValueMenu     0x4000                /*  only makes sense when a menu is attached. */
  314. #define kControlBehaviorOffsetContents     0x8000
  315.  
  316. #define kControlContentTextOnly         0
  317. #define kControlContentIconSuiteRes     1
  318. #define kControlContentCIconRes         2
  319. #define kControlContentPictRes             3
  320. #define kControlContentIconSuiteHandle     129
  321. #define kControlContentCIconHandle         130
  322. #define kControlContentPictHandle         131
  323. #define kControlContentIconRef             132
  324.  
  325. #define kControlBevelButtonContentTag     'cont'                /*  ButtonContentInfo */
  326. #define kControlBevelButtonTransformTag  'tran'                /*  IconTransformType */
  327. #define kControlBevelButtonTextAlignTag  'tali'                /*  ButtonTextAlignment */
  328. #define kControlBevelButtonTextOffsetTag  'toff'            /*  SInt16 */
  329. #define kControlBevelButtonGraphicAlignTag  'gali'            /*  ButtonGraphicAlignment */
  330. #define kControlBevelButtonGraphicOffsetTag  'goff'            /*  Point */
  331. #define kControlBevelButtonTextPlaceTag  'tplc'                /*  ButtonTextPlacement */
  332. #define kControlBevelButtonMenuValueTag  'mval'                /*  SInt16 */
  333. #define kControlBevelButtonMenuHandleTag  'mhnd'            /*  MenuHandle */
  334.  
  335.                                                             /*  Slider proc IDs  */
  336. #define kControlSliderProc                 48
  337. #define kControlSliderLiveFeedback         0x01
  338. #define kControlSliderHasTickMarks         0x02
  339. #define kControlSliderReverseDirection     0x04
  340. #define kControlSliderNonDirectional     0x08
  341.  
  342.                                                             /*  Triangle proc IDs  */
  343. #define kControlTriangleProc             64
  344. #define kControlTriangleLeftFacingProc     65
  345. #define kControlTriangleAutoToggleProc     66
  346. #define kControlTriangleLeftFacingAutoToggleProc  67
  347.  
  348.                                                             /*  Tagged data supported by disclosure triangles  */
  349. #define kControlTriangleLastValueTag     'last'                /*  SInt16 */
  350.                                                             /*  Progress Bar proc IDs  */
  351. #define kControlProgressBarProc         80
  352.                                                             /*  Tagged data supported by progress bars  */
  353. #define kControlProgressBarIndeterminateTag  'inde'            /*  Boolean */
  354.                                                             /*  Little Arrows proc IDs  */
  355. #define kControlLittleArrowsProc         96
  356.                                                             /*  Chasing Arrows proc IDs  */
  357. #define kControlChasingArrowsProc         112
  358.                                                             /*  Tabs proc IDs  */
  359. #define kControlTabLargeProc             128                    /*  Large tab size     */
  360. #define kControlTabSmallProc             129                    /*  Small tab size     */
  361.  
  362.                                                             /*  Tagged data supported by progress bars  */
  363. #define kControlTabContentRectTag         'rect'                /*  Rect */
  364. #define kControlTabEnabledFlagTag         'enab'                /*  Boolean */
  365. #define kControlTabFontStyleTag         'font'                /*  ControlFontStyleRec */
  366.  
  367.                                                             /*  Visual separator proc IDs  */
  368. #define kControlSeparatorLineProc         144
  369.                                                             /*  Group Box proc IDs  */
  370. #define kControlGroupBoxTextTitleProc     160
  371. #define kControlGroupBoxCheckBoxProc     161
  372. #define kControlGroupBoxPopupButtonProc  162
  373. #define kControlGroupBoxSecondaryTextTitleProc  164
  374. #define kControlGroupBoxSecondaryCheckBoxProc  165
  375. #define kControlGroupBoxSecondaryPopupButtonProc  166
  376.  
  377.                                                             /*  Tagged data supported by group box  */
  378. #define kControlGroupBoxMenuHandleTag     'mhan'                /*  MenuHandle (popup title only) */
  379. #define kControlGroupBoxFontStyleTag     'font'                /*  ControlFontStyleRec */
  380.  
  381.                                                             /*  Image Well proc IDs  */
  382. #define kControlImageWellProc             176
  383. #define kControlImageWellAutoTrackProc     177
  384.  
  385.                                                             /*  Tagged data supported by image wells  */
  386. #define kControlImageWellContentTag     'cont'                /*  ButtonContentInfo */
  387. #define kControlImageWellTransformTag     'tran'                /*  IconTransformType */
  388.  
  389.                                                             /*  Popup Arrow proc IDs  */
  390. #define kControlPopupArrowEastProc         192
  391. #define kControlPopupArrowWestProc         193
  392. #define kControlPopupArrowNorthProc     194
  393. #define kControlPopupArrowSouthProc     195
  394. #define kControlPopupArrowSmallEastProc  196
  395. #define kControlPopupArrowSmallWestProc  197
  396. #define kControlPopupArrowSmallNorthProc  198
  397. #define kControlPopupArrowSmallSouthProc  199
  398.  
  399.                                                             /*  Placard proc IDs  */
  400. #define kControlPlacardProc             224
  401.                                                             /*  Clock proc IDs  */
  402. #define kControlClockTimeProc             240
  403. #define kControlClockTimeSecondsProc     241
  404. #define kControlClockDateProc             242
  405. #define kControlClockMonthYearProc         243
  406.  
  407. #define kControlClockNoFlags             0
  408. #define kControlClockIsDisplayOnly         1
  409. #define kControlClockIsLive             2
  410.  
  411.                                                             /*  Tagged data supported by clocks  */
  412. #define kControlClockLongDateTag         'date'                /*  LongDateRec */
  413. #define kControlClockFontStyleTag         'font'                /*  ControlFontStyleRec */
  414.  
  415.                                                             /*  User Pane proc IDs  */
  416. #define kControlUserPaneProc             256
  417. #define kControlUserItemDrawProcTag     'uidp'                /*  UserItemUPP */
  418. #define kControlUserPaneDrawProcTag     'draw'                /*  UserPaneDrawingUPP */
  419. #define kControlUserPaneHitTestProcTag     'hitt'                /*  UserPaneHitTestUPP */
  420. #define kControlUserPaneTrackingProcTag  'trak'                /*  UserPaneTrackingUPP */
  421. #define kControlUserPaneIdleProcTag     'idle'                /*  UserPaneIdleUPP */
  422. #define kControlUserPaneKeyDownProcTag     'keyd'                /*  UserPaneKeyDownUPP */
  423. #define kControlUserPaneActivateProcTag  'acti'                /*  UserPaneActivateUPP */
  424. #define kControlUserPaneFocusProcTag     'foci'                /*  UserPaneFocusUPP */
  425.  
  426.                                                             /*  Edit Text proc IDs  */
  427. #define kControlEditTextProc             272
  428. #define kControlEditTextDialogProc         273
  429. #define kControlEditTextPasswordProc     274
  430.  
  431.                                                             /*  Tagged data supported by edit text  */
  432. #define kControlEditTextTextTag         'text'                /*  Buffer of chars - you supply the buffer */
  433. #define kControlEditTextTEHandleTag     'than'                /*  The TEHandle of the text edit record */
  434. #define kControlEditTextKeyFilterTag     'fltr'
  435. #define kControlEditTextSelectionTag     'sele'                /*  EditTextSelectionRec */
  436. #define kControlEditTextPasswordTag     'pass'                /*  The clear text password text */
  437.  
  438. #define kControlStaticTextProc             288
  439. #define kControlStaticTextStyleTag         'font'                /*  ControlFontStyleRec */
  440. #define kControlStaticTextTextTag         'text'                /*  Copy of text */
  441. #define kControlStaticTextTextHeightTag  'thei'                /*  SInt16 */
  442.  
  443.                                                             /*  Picture control proc IDs  */
  444. #define kControlPictureProc             304
  445. #define kControlPictureNoTrackProc         305                    /*  immediately returns kControlPicturePart */
  446.  
  447. #define kControlIconProc                 320
  448. #define kControlIconNoTrackProc         321                    /*  immediately returns kControlIconPart */
  449. #define kControlIconSuiteProc             322
  450. #define kControlIconSuiteNoTrackProc     323                    /*  immediately returns kControlIconPart */
  451.  
  452. #define kControlIconTransformTag         'trfm'                /*  IconTransformType */
  453. #define kControlIconAlignmentTag         'algn'                /*  IconAlignmentType */
  454.  
  455.                                                             /*  Window Header proc IDs  */
  456. #define kControlWindowHeaderProc         336                    /*  normal header */
  457. #define kControlWindowListViewHeaderProc  337                /*  variant for list views - no bottom line */
  458.  
  459.                                                             /*  List Box proc IDs  */
  460. #define kControlListBoxProc             352
  461. #define kControlListBoxAutoSizeProc     353
  462.  
  463.                                                             /*  Tagged data supported by list box  */
  464. #define kControlListBoxListHandleTag     'lhan'                /*  ListHandle */
  465. #define kControlListBoxKeyFilterTag     'fltr'                /*  ControlKeyFilterUPP */
  466. #define kControlListBoxFontStyleTag     'font'                /*  ControlFontStyleRec */
  467.  
  468.                                                             /*  Theme Push Button/Check Box/Radio Button proc IDs  */
  469. #define kControlPushButtonProc             368
  470. #define kControlCheckBoxProc             369
  471. #define kControlRadioButtonProc         370
  472. #define kControlPushButLeftIconProc     374                    /*  Standard pushbutton with left-side icon */
  473. #define kControlPushButRightIconProc     375                    /*  Standard pushbutton with right-side icon */
  474.  
  475.                                                             /*  Tagged data supported by standard buttons  */
  476. #define kControlPushButtonDefaultTag     'dflt'                /*  default ring flag */
  477.                                                             /*  Theme Scroll Bar proc IDs  */
  478. #define kControlScrollBarProc             384                    /*  normal scroll bar */
  479. #define kControlScrollBarLiveProc         385                    /*  live scrolling variant */
  480.  
  481.                                                             /*  Theme Popup Button proc IDs  */
  482. #define kControlPopupButtonProc         400
  483. #define kControlPopupFixedWidthVariant     0x01
  484. #define kControlPopupVariableWidthVariant  0x02
  485. #define kControlPopupUseAddResMenuVariant  0x04
  486. #define kControlPopupUseWFontVariant     0x08
  487.  
  488. #define kMenuStdMenuProc                 63
  489. #define kMenuStdMenuBarProc             63
  490.  
  491. #define kMenuNoModifiers                 0                    /*  Mask for no modifiers */
  492. #define kMenuShiftModifier                 0x01                /*  Mask for shift key modifier */
  493. #define kMenuOptionModifier             0x02                /*  Mask for option key modifier */
  494. #define kMenuControlModifier             0x04                /*  Mask for control key modifier */
  495. #define kMenuNoCommandModifier             0x08                /*  Mask for no command key modifier */
  496.  
  497. #define kMenuNoIcon                     0                    /*  No icon */
  498. #define kMenuIconType                     1                    /*  Type for ICON */
  499. #define kMenuShrinkIconType             2                    /*  Type for ICON plotted 16 x 16 */
  500. #define kMenuSmallIconType                 3                    /*  Type for SICN */
  501. #define kMenuColorIconType                 4                    /*  Type for cicn */
  502. #define kMenuIconSuiteType                 5                    /*  Type for Icon Suite */
  503. #define kMenuIconRefType                 6                    /*  Type for Icon Ref */
  504.  
  505. /*----------------------------alrx • Extended Alert Template---------------------------*/
  506. type 'alrx'
  507. {
  508.     switch
  509.     {
  510.         case latestVersion:
  511.             key integer=0;
  512.  
  513.             unsigned longint;                /* flags */
  514.             longint;                        /* refCon */
  515.             byte        kUseClassicWindow,
  516.                         kUseThemeWindow;    /* Window type */
  517.             fill byte;                        /* filler */
  518.             pstring;                        /* title (movable only) */
  519.     };
  520. };
  521.  
  522. /*----------------------------dlgx • Extended Dialog Template---------------------------*/
  523. type 'dlgx'
  524. {
  525.     switch
  526.     {
  527.         case latestVersion:
  528.             key integer=0;
  529.  
  530.             unsigned longint;                /* flags */
  531.     };
  532. };
  533.  
  534. /*--------------------------ldes • List Box Description Template------------------------*/
  535. /*    Used in conjunction with the list box control.                                      */
  536.  
  537. type 'ldes'
  538. {
  539.     switch
  540.     {
  541.         case latestVersion:
  542.             key integer = 0;    /* version */
  543.  
  544.             integer;                                                /* Rows                    */
  545.             integer;                                                /* Columns                */
  546.             integer;                                                 /* Cell Height            */
  547.             integer;                                                /* Cell Width            */
  548.             byte            noVertScroll, hasVertScroll;            /* Vert Scroll            */
  549.             fill byte;                                                /* Filler Byte            */
  550.             byte            noHorizScroll, hasHorizScroll;            /* Horiz Scroll            */
  551.             fill byte;                                                /* Filler Byte            */
  552.             integer;                                                /* LDEF Res ID            */
  553.             byte            noGrowSpace, hasGrowSpace;                /* HasGrow?                */
  554.             fill byte;
  555.     };
  556. };
  557.  
  558. /*-------------------------------tab# • Tab Control Template-----------------------------*/
  559. type 'tab#'
  560. {
  561.     switch
  562.     {
  563.         case latestVersion:
  564.             key integer = 0;    /* version */
  565.  
  566.             integer = $$Countof(TabInfo);
  567.             array TabInfo
  568.             {
  569.                 integer;                                            /* Icon Suite ID        */
  570.                 pstring;                                            /* Tab Name                */
  571.                 fill long;                                            /* Reserved                */
  572.                 fill word;                                            /* Reserved                */
  573.             };
  574.     };
  575. };
  576.  
  577. /*-----------------------------dftb • Dialog Control Font Table--------------------------*/
  578. type 'dftb'
  579. {
  580.     switch
  581.     {
  582.         case latestVersion:
  583.             key integer = 0;    /* version */
  584.  
  585.             integer = $$Countof(FontStyle);
  586.             array FontStyle
  587.             {
  588.                 switch
  589.                 {
  590.                     case skipItem:
  591.                         key integer=0;
  592.                         
  593.                     case dataItem:
  594.                         key integer=1;integer;                                /* Flags        */
  595.                         integer;                                            /* Font ID        */
  596.                         integer;                                            /* Font Size    */
  597.                         integer;                                            /* Font Style    */
  598.                         integer;                                            /* Text Mode    */
  599.                         integer;                                            /* Justification */
  600.  
  601.                         unsigned integer;                                    /* ForeColor:    red        */
  602.                         unsigned integer;                                    /*                green    */
  603.                         unsigned integer;                                    /*                blue    */
  604.  
  605.                         unsigned integer;                                    /* BackColor:    red        */
  606.                         unsigned integer;                                    /*                green    */
  607.                         unsigned integer;                                    /*                blue    */
  608.  
  609.                         pstring;                                            /* Font Name */
  610.                 };
  611.             };
  612.     };
  613. };
  614.  
  615. /*-------------------------------xmnu • Extended menu resource---------------------------*/
  616. type 'xmnu'
  617. {
  618.     switch
  619.     {
  620.         case latestVersion:
  621.             key integer = 0;    /* version */
  622.  
  623.             integer = $$Countof(ItemExtensions);
  624.             array ItemExtensions
  625.             {
  626.                 switch
  627.                 {
  628.                     case skipItem:
  629.                         key integer=0;
  630.                         
  631.                     case dataItem:
  632.                         key integer=1;
  633.                         unsigned longint;                        /* Command ID */
  634.                         unsigned hex byte;                        /* modifiers */
  635.                         fill byte;                                /* icon type placeholder */
  636.                         fill long;                                /* icon handle placeholder */
  637.                         unsigned longint sysScript=-1,            /* text encoding */
  638.                                          currScript=-2;            /*     (use currScript for default)*/
  639.                         unsigned longint;                        /* refCon */
  640.                         unsigned longint;                        /* refCon2 */
  641.                         unsigned integer noHierID=0;            /* hierarchical menu ID */
  642.                         unsigned integer sysFont=0;                /* font ID */
  643.                         integer naturalGlyph=0;                    /* keyboard glyph */
  644.                 };
  645.             };
  646.     };
  647. };
  648.  
  649. #endif /* __APPEARANCE_R__ */
  650.  
  651.